package com.zg.common.core.enm;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;

/**
 * @author Zxb
 */
public interface BaseEnumerator {
    /**
     * 获取名称
     * @return String 名称
     */
    String getLabel();

    /**
     * 获取值
     * @return String 值
     */
    String getValue();

    /**
     * 返回json
     * @return JSONObject json
     */
    @JSONField
    default JSONObject getJson() {
        JSONObject json = new JSONObject();
        json.put("value", getValue());
        json.put("label", getLabel());
        return json;
    }
}
